/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package cm.java.jpa.inicial.test;

import cm.java.jpa.inicial.Livro;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import static junit.framework.Assert.assertNotNull;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

/**
 *
 * @author escm
 */
public class LivroTesteIntegrado {
     private static EntityManagerFactory emf  = 
           Persistence.createEntityManagerFactory("cmJavaJPATeste");

    private EntityManager em;
    private EntityTransaction tx;

    
    @Before
    public void iniciaGerenciadorEntidades() throws Exception {
        em = emf.createEntityManager();
        tx = em.getTransaction();
    }

    @After
    public void encerraGerenciadorEntidades() throws Exception {
        if (em != null) {
            em.close();
        }
    }
    
       @Test
    public void deveriaCriarLivro() throws Exception {
        Livro liv = new Livro();
        liv.setTitulo("O PEQUENO PRINCIPE");
        liv.setPreco(9.00f);
        liv.setNroDePaginas(87);
        tx.begin();
        em.persist(liv);
        tx.commit();

        assertNotNull("A ID não deveria ser nula", liv.getId());

       // liv = em.createNamedQuery("encontrePessoaBruno", Livro.class).getSingleResult();
       // assertEquals("Bruno Penha", pessoa.getPrimeiroNome() + " " + liv.getUltimoNome());
    }
    
    
    
}
